/* Add a black background color to the top navigation */
.nav-item {
    background-color: #000000;
    overflow: hidden;
    align-items: self-start; 
}

.nav-logo {
    display: flex; 
    float: left; 
    align-items: left; 
}


/* Style the links inside the navigation bar*/
.nav-link {
    float: left; 
    display: block; 
    color: #e4e4e4; 
    text-align: center; 
    padding: 10px 18px;
    text-decoration: none;;
    font-size: 18px; 
    font-family: sans-serif;
}

/* Change the color of links on hover */ 
.nav-link:hover {
    background-color: #ddd; 
    color: black; 
}

/* Add an active class to highlight the current page */
.nav-link.active {
    background-color: #04AA6D; 
    color: white; 
}

.construction-message {
    background-color: #26890d; 
    overflow: hidden;
    color: white; 
}

/* Hide the link that should open and close the topnav on small screens */
.topnav.icon {
  display: none; 
}

/* When the screen is less than 600 pixels wide, hide all links, except for the first one ("Home"). Show the link that contains should open and close the topnav (.icon) */
@media screen and (max-width: 600px) {
  .topnav a:not(:first-child) {display: none;}
  .topnav a.icon {
    float: right;
    display: block;
  }
}

/* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */
@media screen and (max-width: 600px) {
  .topnav.responsive {position: relative;}
  .topnav.responsive a.icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
}


/* BTW css */
 *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --ink:       #1a1410;
      --paper:     #f5f0e8;
      --cream:     #ede7d8;
      --rule:      #c8bfaa;
      --accent:    #b85c2a;
      --accent2:   #2a6b4a;
      --muted:     #7a6e60;
      --highlight: #fde8a0;
      --mono: 'DM Mono', monospace;
      --serif: 'Fraunces', Georgia, serif;
    }

    body {
      background: var(--paper);
      color: var(--ink);
      font-family: var(--mono);
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 2rem 1rem;
    }

    /* Subtle grid background */
    body::before {
      content: '';
      position: fixed;
      inset: 0;
      background-image:
        linear-gradient(var(--rule) 1px, transparent 1px),
        linear-gradient(90deg, var(--rule) 1px, transparent 1px);
      background-size: 40px 40px;
      opacity: 0.18;
      pointer-events: none;
      z-index: 0;
    }

    .wrapper {
      position: relative;
      z-index: 1;
      width: 100%;
      max-width: 820px;
    }

    /* Header */
    header {
      margin-bottom: 2.5rem;
      border-bottom: 2px solid var(--ink);
      padding-bottom: 1rem;
      display: flex;
      align-items: baseline;
      gap: 1rem;
      flex-wrap: wrap;
    }

    header h1 {
      font-family: var(--serif);
      font-size: clamp(2rem, 5vw, 3rem);
      font-weight: 600;
      letter-spacing: -0.02em;
      line-height: 1;
      color: var(--ink);
    }

    header .subtitle {
      font-size: 0.75rem;
      color: var(--muted);
      letter-spacing: 0.12em;
      text-transform: uppercase;
      margin-top: 2px;
    }

    /* Card / form area */
    .card {
      background: #fff;
      border: 1.5px solid var(--ink);
      border-radius: 2px;
      padding: 2rem 2.5rem;
      box-shadow: 4px 4px 0 var(--ink);
      animation: fadeUp 0.4s ease both;
    }

    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(16px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    /* Two-column layout */
    .fields {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.5rem 2rem;
      align-items: start;
    }

    @media (max-width: 560px) {
      .fields { grid-template-columns: 1fr; }
      .card { padding: 1.5rem; }
    }

    /* Field groups */
    .field-group {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }

    label {
      font-size: 0.7rem;
      font-weight: 500;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--muted);
    }

    select, input[type="number"] {
      font-family: var(--mono);
      font-size: 1rem;
      background: var(--paper);
      border: 1.5px solid var(--rule);
      border-radius: 2px;
      padding: 0.6rem 0.8rem;
      color: var(--ink);
      width: 100%;
      outline: none;
      transition: border-color 0.15s, box-shadow 0.15s;
      appearance: none;
      -webkit-appearance: none;
    }

    select {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237a6e60' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 0.8rem center;
      padding-right: 2.2rem;
      cursor: pointer;
    }

    select:focus, input[type="number"]:focus {
      border-color: var(--accent);
      box-shadow: 0 0 0 3px rgba(184,92,42,0.12);
    }

    /* Euro input wrapper */
    .euro-wrap {
      position: relative;
    }

    .euro-wrap span {
      position: absolute;
      left: 0.8rem;
      top: 50%;
      transform: translateY(-50%);
      color: var(--muted);
      font-size: 0.95rem;
      pointer-events: none;
    }

    .euro-wrap input {
      padding-left: 1.8rem;
    }

    /* Posts list */
    .posts-list {
      margin-top: 0.4rem;
      background: var(--cream);
      border: 1px solid var(--rule);
      border-radius: 2px;
      padding: 0.5rem 0.7rem;
      font-size: 0.78rem;
      color: var(--muted);
      min-height: 2.5rem;
      line-height: 1.8;
      transition: background 0.2s;
    }

    .posts-list .post-item {
      display: flex;
      gap: 0.5rem;
    }

    .posts-list .post-key {
      color: var(--accent);
      min-width: 5.5rem;
    }

    /* VAT rate badge */
    .rate-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      background: var(--ink);
      color: var(--paper);
      font-family: var(--serif);
      font-size: 1.6rem;
      font-weight: 300;
      font-style: italic;
      padding: 0.3rem 0.9rem 0.3rem 0.7rem;
      border-radius: 2px;
      margin-top: 0.4rem;
      letter-spacing: -0.01em;
      transition: background 0.25s;
    }

    .rate-badge sup {
      font-size: 0.8rem;
      font-style: normal;
      font-family: var(--mono);
      opacity: 0.75;
      margin-top: -0.5rem;
    }

    /* Mode toggle */
    .mode-toggle {
      display: flex;
      gap: 0;
      border: 1.5px solid var(--rule);
      border-radius: 2px;
      overflow: hidden;
      margin-bottom: 0.2rem;
    }

    .mode-toggle button {
      flex: 1;
      font-family: var(--mono);
      font-size: 0.7rem;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 0.45rem 0.5rem;
      border: none;
      background: var(--paper);
      color: var(--muted);
      cursor: pointer;
      transition: background 0.15s, color 0.15s;
    }

    .mode-toggle button.active {
      background: var(--ink);
      color: var(--paper);
    }

    .mode-toggle button:not(.active):hover {
      background: var(--cream);
    }

    /* Divider */
    .divider {
      grid-column: 1 / -1;
      border: none;
      border-top: 1px dashed var(--rule);
      margin: 0.5rem 0;
    }

    /* Results section */
    .results {
      grid-column: 1 / -1;
      background: var(--highlight);
      border: 1.5px solid var(--ink);
      border-radius: 2px;
      padding: 1.2rem 1.5rem;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem;
      animation: none;
      transition: opacity 0.2s;
    }

    .results.empty {
      opacity: 0.45;
    }

    .result-item {
      display: flex;
      flex-direction: column;
      gap: 0.2rem;
    }

    .result-item .result-label {
      font-size: 0.65rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--muted);
    }

    .result-item .result-value {
      font-family: var(--serif);
      font-size: 1.6rem;
      font-weight: 600;
      color: var(--ink);
      letter-spacing: -0.02em;
    }

    .result-item .result-value.accent {
      color: var(--accent2);
    }

    .result-item .result-value.total {
      font-size: 2rem;
    }

    /* Footer note */
    footer {
      margin-top: 1.5rem;
      font-size: 0.68rem;
      color: var(--muted);
      letter-spacing: 0.06em;
      text-align: right;
    }